package com.xnew.entity.memberinfo;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.xnew.bean.common.FileInfo;
import org.springframework.data.annotation.Transient;

import java.io.Serializable;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
* @Author: Zhozh
* @Description: 入会申请审核任务表
* @DateTime: 2022/4/18
* @Params:
* @Return
*/
@TableName("t61_memshp_apply_audit_task")
public class MemshpApplyAuditTask implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 审核信息编号
     */
    @TableId("at_no")
    private String atNo;

    /**
     * 机构用户编号
     */
    private String orgUserNo;

    /**
     * 信息报送审核状态编码
     */
    private String infsubAuditStatusCode;

    /**
     * 上次信息报送审核状态编码
     */
    private String lastInfsubAuditStatusCode;

    /**
     * 入会申请资料编号
     */
    private String memshpApplyInfomaNo;

    /**
     * 入会申请资料编号
     */
    private String orgTypeCode;

    /**
     * 流程步骤编号
     */
    private String flowStepNo;

    /**
     * 审核角色
     */
    private String auditRole;

    /**
     * 上一审核人编号
     */
    private String lastAuditPsnNo;

    /**
     * 审核申请时间
     */
    private String auditApplyTime;

    /**
     * 最后操作时间
     */
    private String lastOperTime;

    /**
     * 申请审核日志编号
     */
    private String alNo;

    /**
     * 是否分配职务
     */
    private String isAssignJob;

    @TableField(exist = false)
    private MemshpApplyInfoma memshpApplyInfoma;

    public MemshpApplyAuditTask() {
    }

    @TableField(exist = false)
    private List<FileInfo> fileList;

    public List<FileInfo> getFileList() {
        return fileList;
    }

    public void setFileList(List<FileInfo> fileList) {
        this.fileList = fileList;
    }

    public String getAtNo() {
        return atNo;
    }

    public void setAtNo(String atNo) {
        this.atNo = atNo;
    }

    public String getOrgUserNo() {
        return orgUserNo;
    }

    public void setOrgUserNo(String orgUserNo) {
        this.orgUserNo = orgUserNo;
    }

    public String getInfsubAuditStatusCode() {
        return infsubAuditStatusCode;
    }

    public void setInfsubAuditStatusCode(String infsubAuditStatusCode) {
        this.infsubAuditStatusCode = infsubAuditStatusCode;
    }

    public String getIsAssignJob() {
        return isAssignJob;
    }

    public void setIsAssignJob(String isAssignJob) {
        this.isAssignJob = isAssignJob;
    }

    public String getMemshpApplyInfomaNo() {
        return memshpApplyInfomaNo;
    }

    public void setMemshpApplyInfomaNo(String memshpApplyInfomaNo) {
        this.memshpApplyInfomaNo = memshpApplyInfomaNo;
    }

    public String getFlowStepNo() {
        return flowStepNo;
    }

    public void setFlowStepNo(String flowStepNo) {
        this.flowStepNo = flowStepNo;
    }

    public String getAuditRole() {
        return auditRole;
    }

    public void setAuditRole(String auditRole) {
        this.auditRole = auditRole;
    }

    public String getLastAuditPsnNo() {
        return lastAuditPsnNo;
    }

    public void setLastAuditPsnNo(String lastAuditPsnNo) {
        this.lastAuditPsnNo = lastAuditPsnNo;
    }

    public String getLastOperTime() {
        return lastOperTime;
    }

    public void setLastOperTime(String lastOperTime) {
        this.lastOperTime = lastOperTime;
    }

    public String getAlNo() {
        return alNo;
    }

    public void setAlNo(String alNo) {
        this.alNo = alNo;
    }

    public MemshpApplyInfoma getMemshpApplyInfoma() {
        return memshpApplyInfoma;
    }

    public void setMemshpApplyInfoma(MemshpApplyInfoma memshpApplyInfoma) {
        this.memshpApplyInfoma = memshpApplyInfoma;
    }

    public String getOrgTypeCode() {
        return orgTypeCode;
    }

    public void setOrgTypeCode(String orgTypeCode) {
        this.orgTypeCode = orgTypeCode;
    }

    public String getAuditApplyTime() {
        return auditApplyTime;
    }

    public void setAuditApplyTime(String auditApplyTime) {
        this.auditApplyTime = auditApplyTime;
    }

    public String getLastInfsubAuditStatusCode() {
        return lastInfsubAuditStatusCode;
    }

    public void setLastInfsubAuditStatusCode(String lastInfsubAuditStatusCode) {
        this.lastInfsubAuditStatusCode = lastInfsubAuditStatusCode;
    }

    @Transient
    @JsonInclude(JsonInclude.Include.NON_NULL)
    @TableField(exist = false)
    private Map<String, Object> dictNameResult = new HashMap<String, Object>();

    public Map<String, Object> getDictNameResult() {
        return dictNameResult;
    }

    public void setDictNameResult(Map<String, Object> dictNameResult) {
        this.dictNameResult = dictNameResult;
    }

    //数据字典
    @Transient
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public String[] buildIncludeField(){
        return new String[]{"orgTypeCode","infsubAuditStatusCode","isAssignJob"};
    }

    /*数据字典*/
    @Transient
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public String[] buildIncludeType(){
        return new String[]{"DG0173","DG0149","DG0104"};
    }
}